<template>
  <div class="search-history">
      <van-cell
        title="搜索历史"
      >
        <div v-if="isDeleteShow">
          <!-- 任何 prop 数据都不能重新赋值 xxx = xxxx -->
            <span
              @click="$emit('update-histories', [])"
            >全部删除</span>
            &nbsp;&nbsp;
            <span @click="isDeleteShow = false">完成</span>
        </div>
        <van-icon 
          v-else
          name="delete"
          @click="isDeleteShow = true"
        ></van-icon>
      </van-cell>
      <van-cell
        :title="history"
        v-for="(history, index) in searchHistories"
        :key="index"
        @click="onDelete(history, index)"
      >
        <van-icon 
          v-show="isDeleteShow"
          name="close"
        />
      </van-cell>
  </div>
</template>

<script>
// import { setItem } from '@/utils/storage'

export default {
  name: 'SearchHistory',
  components: {},
  props: {
    searchHistories: {
      type: Array,
      require: true
    }
  },
  data() {
    return {
      isDeleteShow: false  // 删除操作显示的状态
    };
  },
  computed: {},
  watch: {},
  created() {},
  mounted() {},
  methods: {
    onDelete(history, index) {
      // 如果是删除状态,就执行删除操作
      if(this.isDeleteShow) {
        this.searchHistories.splice(index, 1)
        // 持久化处理
        // 1.修改本地储存的数据
        // 3.请求接口删除线上的数据
        // 无论是否登录都把数据持久化到本地
        // 如果已经登录，则删除线上的历史数据
        // 没有删除单个历史记录的接口，只有删除所有历史记录的接口
        // setItem('search-histories', this.searchHistories)
        return
      }

      // 非编辑状态就是进行搜索，展示搜索结果
      this.$emit('search', history)
    }
  }
};
</script>
<style lang="less" scoped>
</style>